package com.bank.util;

import java.util.regex.Pattern;

public class ValidationUtils {

    // 验证身份证号码
    public static boolean validateIDCard(String idCard) {
        // 身份证号码为18位，可能包含字母（最后一位可能是X或x）
        String regex = "(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
        return Pattern.matches(regex, idCard);
    }

    // 验证手机号码
    public static boolean validatePhoneNumber(String phoneNumber) {
        // 手机号码为11位纯数字
        String regex = "^\\d{11}$";
        return Pattern.matches(regex, phoneNumber);
    }

    // 验证密码（简单示例：6位数字）
    public static boolean validatePassword(String password) {
        // 密码为6位数字
        String regex = "^\\d{6}$";
        return Pattern.matches(regex, password);
    }

    // 验证卡号（16位数字）
    public static boolean validateCardNumber(String cardNumber) {
        String regex = "^\\d{16}$";
        return Pattern.matches(regex, cardNumber);
    }

    // 验证金额（正数，最多两位小数）
    public static boolean validateAmount(double amount) {
        return amount > 0 && (amount * 100) % 1 == 0;
    }

    // 验证是否为空
    public static boolean isNullOrEmpty(String input) {
        return input == null || input.trim().isEmpty();
    }
}
